home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 7.2 KB | 215 lines | [TEXT/MPS ] |
- /*
- File: OCEStandardDirectory.idl
-
- Contains: Apple Open Collaboration Environment Standard Directory Interfaces.
-
- Version: Technology: AOCE Toolbox 1.02
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __OCESTANDARDDIRECTORY_IDL__
- #define __OCESTANDARDDIRECTORY_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __ICONS_IDL__
- #include <Icons.idl>
- #endif
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __WINDOWS_IDL__
- #include <Windows.idl>
- #endif
- #ifndef __OCE_IDL__
- #include <OCE.idl>
- #endif
- #ifndef __OCEAUTHDIR_IDL__
- #include <OCEAuthDir.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM7_ONLY
- /* Collaboration Package Gestalts. */
- #endif
- #if FOR_SYSTEM7_ONLY
- /* Prompt For Identity structures */
- /* Values of SDPIdentityKind */
- typedef unsigned short SDPIdentityKind;
-
- typedef unsigned short SDPLoginFilterKind;
-
- /* Panel Structures */
- /*
- While the panel is in operation, four selection states may exist.
- 1) kSDPNothingSelected means nothing is selected.
- 2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
- 3) kSDPLockedContainerSelected means one of the above, but no access privledges.
- 4) kSDPRecordSelected means that a record is currently selected.
- */
- /* Values of SDPSelectionState */
- typedef unsigned short SDPSelectionState;
-
- /*
- This type informs the caller of the action the user took, either as the result
- of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
-
- kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
- state change.
-
- kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
- record. This is returned, for example, when a user double-clicks on a record.
-
- kSDPChangedSelection implies that the user clicked on a new item (which may mean
- that no item is selected).
- */
- /* Values of SDPPanelState */
- typedef unsigned short SDPPanelState;
-
- /*
- Your application may read any of the fields in a SDPPanelRecord, but it should
- use the appropriate routines to make changes to the records with the exception
- of the refCon field which your application may read or write at will. Private
- information follows the SDPPanelRecord, so the handle must not be re-sized.
- */
- typedef SOMLargeStruct SDPPanelRecord; /* Derived from a struct of 42 bytes in size */
-
- typedef OpaquePtr SDPPanelPtr; /* Substituted OpaquePtr for “SDPPanelRecord*” */
-
- typedef OpaquePtr SDPPanelHandle; /* Substituted OpaquePtr for “SDPPanelPtr*” */
-
- typedef OpaquePtr PanelBusyProcPtr;
- typedef OpaquePtr PanelBusyUPP;
- typedef PanelBusyUPP PanelBusyProc;
-
- /* Find Panel Structures */
- /* Values of SDPFindPanelState */
- typedef unsigned short SDPFindPanelState;
-
- /* Values of SDPFindPanelFocus */
- typedef unsigned short SDPFindPanelFocus;
-
- typedef SOMLargeStruct SDPFindPanelRecord; /* Derived from a struct of 20 bytes in size */
-
- typedef OpaquePtr SDPFindPanelPtr; /* Substituted OpaquePtr for “SDPFindPanelRecord*” */
-
- typedef OpaquePtr SDPFindPanelHandle; /* Substituted OpaquePtr for “SDPFindPanelPtr*” */
-
- /* Values of SDPFindPanelResult */
- typedef unsigned short SDPFindPanelResult;
-
- typedef OpaquePtr PackedRStringListHandle; /* Substituted OpaquePtr for “PackedPathNamePtr*” */
-
- typedef OpaquePtr FindPanelBusyProcPtr;
- typedef OpaquePtr FindPanelBusyUPP;
- typedef FindPanelBusyUPP FindPanelBusyProc;
-
- /* Prompt For Identity Routines */
- /*
- SDPNewPanel creates a new panel. You supply the window in which the panel
- is to live, the bounds for the panel (which includes both the menu and the list),
- whether or not the panel is to be initially visible, the initial RLI (nil for
- catalogs and volumes), the types of records that will be shown (only a single
- (non-nil) type which may contain wildcards), the identity by which to browse
- (for access control reasons), and a refCon which is available to the caller.
- */
- /*
- SDPSetIdentity Sets the identity used for browsing. NOTE: This call is likely to go
- away if the new authentication scheme works.
- */
- /*
- SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
- 'panl' resource.
- */
- /*
- Call this when you're completely done with a panel. It deallocates all of the
- associated data structures.
- */
- /*
- If the panel is visible, it makes it invisible by hiding the menu, turning off
- drawing of the list, and erasing and invaling the list's rectangle.
- */
- /* If the panel is invisible, it makes it visible and draws it. */
- /* Disables the list and menu so that it won't accept any commands. */
- /*
- Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
- the panel's window.
- */
- /*
- Resizes the panel to have the given width and height (keeping the upper-left-hand
- corner in a fixed position).
- */
- /*
- This routine simulates a double-click on the selected item (if there is no selected
- item, then it does nothing), and it returns the result of that "double-click" via the
- whatHappened parameter. If a container is selected, then that container will be
- opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
- level in the hierarchy, then kSDPSelectedAnItem is returned.
- */
- /*
- Returns whether a record is selected, something else is selected, or nothing is
- selected.
- */
- /*
- Returns the size of the currently-selected DSSpec, or zero if a record is
- not selected. It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
- */
- /*
- Returns the currently-selected DSSpec, or a zero-lengthed
- DSSpec if a record is not selected. It is assumed that the selection
- buffer allocated is large enough.
- */
- /*
- Forces browsing to the specified RLI. If prli is the current RLI, then it does
- nothing.
- */
- /*
- This is the main driver for the panel. You should pass all events to SDPPanelEvent
- including NULL events. If you have more than 1 panel, you will need to
- call SDPPanelEvent for each panel. NOTE: For Update Events you will also need to call
- SDPUpdatePanel as described below.
- */
- /*
- SDPUpdatePanel should be called in response to an update event. Generally you will
- have first called BeginUpdate, and pass the windows visRgn as theRgn. If NULL
- is passed for theRgn the entire panel is re-drawn. NOTE: Drawing is not cliped to
- theRgn, if this is desired, you must first call SetClip.
- */
- /*
- SDPSelectString scrolls and selects the closest matching string at the current
- level. This is the same behavior as if the user typed in the given string.
- */
- /*
- SDPGetPathLength returns the length in bytes required to hold the current path name
- in RLI format. This corresponds to the path name in the popup menu.
- */
- /* SDPGetPath returns the current rli. */
- /*
- SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
- the focus boolean.
- */
- /*
- SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for
- balloon help. Balloon help is unavailable until this call is made.
- */
- /*
- SDPInstallPanelBusyProc allows clients to install a CB that will be called while
- the panel is aynchronously busy.
- */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __OCESTANDARDDIRECTORY_IDL__ */
-
-